home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / misc / AWNP_2-39.lha / AWNP / AWNP-Docs / GUIAdvanced.doc < prev    next >
Text File  |  2000-01-31  |  2KB  |  36 lines

  1.  For now tutorial 5 only adds one new function, Bubble Help. More advanced features will be added later.
  2.  
  3.  Before reading this section take a moment and run tutorial 5, knowing what the GUI does will help in understanding the code behind it.
  4.  
  5.  Tutorial 5 is only available in Arexx for now, the discussion is kept general and it applies to both 'C' and ARexx.
  6.  
  7. TUTORIAL 5
  8. -----------
  9.  
  10.  Most users only scan documentation at best. To allow users to quickly understand your programs Bubble help is ery useful.
  11.  
  12.  A few simple changes are made in the window definition. It now tells the GUI to send help and window activation events.This is done by adding 'help' and 'state' keywords.
  13.  
  14.  A menu option has been added to turn the helpbubbles on or off.
  15.  
  16.  A change has been made in the main loop, we send 'tick 50' rather than continue when we want to get an event from the pipe. Like continue this ends the modify command part of the conersation and tels the GUI to send us an event. It also forces the GUI to send us a 'tick' event after 50/100 of a second. We use these tick events to delay the displaying of help bubbles.
  17.  
  18.  Tick events have other uses, like returning control back to your code after a set delay so it does not wait forever for an event. For now we will just look at the help delay.
  19.  
  20.  Each time an event is read in the main loop we check a delay counter. If the counter counts down to 0 we open a help bubble (using some previously stored information). The HELPX and HELPY are used to determine a position for the bubble and MUST be given.
  21.  
  22. 'bubble top HELPX left HELPY gt "HELP TEXT"'
  23.  
  24.  We also must hadle two new events, help and active.
  25.  
  26.  We respond to the help event by calling the bubble routine. This routine checks to see if the help event is the same as the last one. If yes we do nothing. If it changed we close the old help window, if we had one, by sending a bubble modify command with no paramters.
  27.  
  28. 'bubble'
  29.  
  30.  If the event was gadget 0 or -1 we have nothing more to do since they represent the mouse not being over a valid gadget. If the gadget number is valid we store the mouse position that is returned in the help event and the gadget number. We start the delay counter and return.
  31.  
  32.  If we receive any activation event we call bubble(0) to close any open bubble help. This needed in case our window becomes inactive due to another window being opened.
  33.  
  34.  
  35.  
  36.